gsk/vulkan/renderpass: Factor out node implementations
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Fri, 31 Mar 2023 17:00:33 +0000 (14:00 -0300)
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Fri, 31 Mar 2023 17:00:33 +0000 (14:00 -0300)
commitb1a8c0e686a092012013b31314a49964a0c258bc
tree8f3d9c400d95623fde7c3f2baf0acf3b055519cd
parentbd29bed7856f1f69c2120678c91071ddd936c223
gsk/vulkan/renderpass: Factor out node implementations

This is mostly a cosmetic change, and the goal is twofold:

 1. Make it easier to spot unimplemented render node types; and
 2. Prepare for a small rework

The implementation for each node now lives in specific functions,
like the GL renderer; unlike the GL renderer, however, we use a
node type vtable to map GskRenderNodeType → implementation. Render
node without an implementation map to NULL, and use the fallback
implementation. Render nodes that fail any check and return FALSE
also use fallback implementation.
gsk/vulkan/gskvulkanrenderpass.c